查看原文
其他

听说你用R把证件照给一键换底了

Y叔叔 YuLabSMU 2023-01-03

对于使用命令行来说,一键等同于一条指令,是不是标题党往下看看。

话说单位要交照片,我交了一张红底的,退回来说要白色的,自己PS一下。但是我智商捉急,不会PS这种东方神技。于是我打开R,试了一下,成功换底色。这是我第一次用R来解决这个问题,虽然没用过,但我丝毫不怀疑可以干这样的事情,毕竟我是写过ggimagememe包的人,搞一下这点图片操作,还是有足够能力的,就算没有现成的函数,我把图片读成RGB的三维矩阵,也能搞出来。

ggimage

meme


代码很简单,第一句读图,第二句换背景,这用的是magick包,对这个包很好的一个展示是《有魔性的图来一发》。
第三句cowplot拼图,处理前处理后,大家太熟悉了。但里面嵌入了as.ggplot这个是把图转成ggplot对象,以方便用cowplot拼。而这个用的是ggplotify包。

ggplotify

第四句代码X11()是重新开一下画图窗口,因为我用的是Linux,如果Mac,应该是quartz(),而windows则应该用window()。第五句,用grid包中的grid.text写一句话,而画图的参数通过gpar来传入,这里cex就是放大字体的意思。用来档脸,毕竟怕在路上被粉丝认出来。

就算你用美图秀秀之类的,你不也得选一张照片,点一下工具实现效果,再保存文件。这里一句读文章,一句换背景,一句写文件。写文件的语句我在图里放出来,但这里既然都可以as.ggplot了,你们也该知道就可以直接ggsave了,而我保存的时候,发现文件有1.5M,而要求是小于500k的,于是我又来一遍ggsave,只把dpi调成150,文件就只有400k了。多么的容易啊。当然你也可以使用压缩,这事也经常干,因为期刊要求嘛,臣妾办不到也得办。《什么?杂志要求图片要300dpi的TIFF,还限制了文件大小,臣妾做不到啊》。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存